package com.ihr360.insurance.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ihr360.commons.model.type.BenefitCategory;

import java.io.Serializable;
import java.util.Date;

public class BenefitTypeVo implements Serializable {
    private static final long serialVersionUID = 3547040006976623191L;
    private Long id;
    private String code;
    private String name;
    private BenefitCategory category;
//    private HFSubType hfSubType;

    @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
    private Date effectiveAt;
    @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
    private Date invalidAt;
    private boolean enabled;

    public BenefitTypeVo() {

    }

    public BenefitTypeVo(Long id, String code, String name, BenefitCategory category,
                         Date effectiveAt, Date invalidAt, boolean enabled) {
        this.id = id;
        this.code = code;
        this.name = name;
        this.category = category;
        this.effectiveAt = effectiveAt;
        this.invalidAt = invalidAt;
        this.enabled = enabled;
    }

//    public BenefitTypeVo(Long id, String code, String name, BenefitCategory category,
//                         HFSubType hfSubType, Date effectiveAt, Date invalidAt, boolean enabled) {
//        this.id = id;
//        this.code = code;
//        this.name = name;
//        this.category = category;
//        this.hfSubType = hfSubType;
//        this.effectiveAt = effectiveAt;
//        this.invalidAt = invalidAt;
//        this.enabled = enabled;
//    }

    public Long getId() {
        return id;
    }

    public String getCode() {
        return code;
    }

    public String getName() {
        return name;
    }

    public BenefitCategory getCategory() {
        return category;
    }

//    public HFSubType getHfSubType() {
//        return hfSubType;
//    }

    public Date getEffectiveAt() {
        return effectiveAt;
    }

    public Date getInvalidAt() {
        return invalidAt;
    }

    public boolean isEnabled() {
        return enabled;
    }
}